package psn.kiko.pojo.vo.ui;

import lombok.Data;

import java.util.List;

/**
 * 导航项UI
 */
@Data
public class NavigationItemUI{
	/**
	 * 导航项id
	 */
	private Integer id;
	/**
	 * 路由
	 */
	private String route;
	/**
	 * 导航项标识
	 */
	private String label;
	/**
	 * 导航项标题
	 */
	private String title;
	/**
	 * 导航项字体图标
	 */
	private String iconClass;
	/**
	 * 导航项最终状态
	 */
	private Boolean finalStatus;
	/**
	 * 导航项操作列表
	 */
	private List<OperationUI> children;
	
	/**
	 * 计算当前导航项最终状态：有操作并且至少有一个可用操作
	 */
	public void computeFinalStatus(){
		boolean anyAvailable = children.stream().anyMatch(OperationUI::getFinalStatus);
		this.finalStatus = this.children != null&&this.children.size() > 0&&anyAvailable;
	}
}
